A Server Endpoint is a physical address available on a network that allows clients to access one or more services provided by a server. Server endpoint is specified by its URL string.
Besides standard URLs e.g. with HTTP or HTTPS schemes, OPC Unified Architecture uses its own schemes, such as “opc.tcp”. Examples of server endpoint URL strings are:
Note: For backward compatibility, it is also possible to use “opc.http:” in place of “http:” scheme in OPC UA endpoint descriptors (for OPC Unified Architecture over SOAP/HTTP). You should not, however, use “opc.http:” in new projects.
In OPC Data Client-UA, server endpoint corresponds to a UAEndpointDescriptor object that you create and pass to various methods. An implicit conversion from a string containing the URL of the endpoint exists. It is therefore common to specify UAEndpointDescriptor-s simply as strings, relying on the implicit conversion.
A single OPC-UA server may have multiple endpoints with the same functionality, but using different protocols, or different security settings, and expose the list of its own endpoint using discovery services. By default, the component will attempt to interpret the server endpoint you have specified as server’s discovery endpoint, and automatically select the best endpoint.
How precisely the endpoint is selected is determined by Endpoint Selection Policy (UAEndpointSelectionPolicy object) that you can parameterize in the SessionParameters property on the EasyUAClient object. Such parameterization has a global effect. You can also specify the endpoint selection policy individually for just a specific endpoint descriptor. To do so, set the EndpointSelectionPolicy Property of the UAEndpointDescriptor to a non-null instance of UAEndpointSelectionPolicy. For details, see OPC UA Endpoint Selection Policy.
If a user authentication is required by the OPC UA server, you can specify user identity on the endpoint, in the UAEndpointDescriptor object (alternatively, it can be specified in session parameters - the token infos from these two places are effectively merged together). See OPC UA User Authentication and User Identity in QuickOPC-UA for more detailed discussions of this topic.
In order to make specifying the user identity with an endpoint descriptor easy OPC Data Client has extension methods on the UAEndpointDescriptor class. They are:
These methods return a copy of the endpoint descriptor with the specified token info in its user identity.
In advanced scenarios, your OPC UA application may have multiple application instance certificates, and use a different certificate with different server connections (see OPC UA Client-Server Application Service for more information). In such case, you can specify the application instance certificate to be used with the server connection by setting the CertificateSubId Property in the UAEndpointDescriptor to the (string) sub-Id of the certificate.